package com.changgou.service;

import com.changgou.goods.pojo.Spec;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 规格信息业务层
 *
 * @author gaofeng
 * @date 2025/4/20 10:52
 */
public interface SpecService {
    /**
     * Spec多条件分页查询
     *
     * @param spec 查询条件
     * @param page 当前页
     * @param size 每页显示多少条
     * @return 规格信息分页结果
     */
    PageInfo<Spec> findPage(Spec spec, int page, int size);

    /**
     * Spec分页查询
     *
     * @param page 当前页
     * @param size 每页显示多少条
     * @return 规格信息分页结果
     */
    PageInfo<Spec> findPage(int page, int size);

    /**
     * Spec多条件搜索方法
     *
     * @param spec 查询条件
     * @return 规格信息集合
     */
    List<Spec> findList(Spec spec);

    /**
     * 删除Spec
     *
     * @param id 主键id
     */
    void delete(Integer id);

    /**
     * 修改Spec数据
     *
     * @param spec 修改的规格信息
     */
    void update(Spec spec);

    /**
     * 新增Spec
     *
     * @param spec 新增的规格信息
     */
    void add(Spec spec);

    /**
     * 根据ID查询Spec
     *
     * @param id 主键
     * @return 规格信息
     */
    Spec findById(Integer id);

    /**
     * 查询所有Spec
     *
     * @return 规格信息集合
     */
    List<Spec> findAll();

    /**
     * 根据categoryId获取规格信息集合
     *
     * @param categoryId 分类id
     * @return 规格信息集合
     */
    List<Spec> findByCategoryId(Integer categoryId);
}
